48 if (x >= 1.0F)
return 90.0F;
49 if (x <= -1.0F)
return -90.0F;
53 return (
fatan_deg(x / sqrtf(1.0F - x * x)));
63 if (x >= 1.0F)
return 0.0F;
64 if (x <= -1.0F)
return 180.0F;
68 if (x == 0.0F)
return 90.0F;
69 if (x > 0.0F)
return fatan_deg((sqrtf(1.0F - x * x) / x));
70 return 180.0F +
fatan_deg((sqrtf(1.0F - x * x) / x));
82 #define TAN15DEG 0.26794919243F // tan(15 deg) = 2 - sqrt(3) 83 #define TAN30DEG 0.57735026919F // tan(30 deg) = 1/sqrt(3) 85 ixisnegative = ixexceeds1 = ixmapped = 0;
116 if (ixmapped) fangledeg += 30.0F;
117 if (ixexceeds1) fangledeg = 90.0F - fangledeg;
118 if (ixisnegative) fangledeg = -fangledeg;
132 if (y > 0.0F)
return 90.0F;
135 if (y < 0.0F)
return -90.0F;
146 if ((x < 0.0F) && (y > 0.0F))
return (180.0F +
fatan_deg(y / x));
159 #define PADE_A 96.644395816F // theoretical Pade[3/2] value is 5/3*180/PI=95.49296 160 #define PADE_B 25.086941612F // theoretical Pade[3/2] value is 4/9*180/PI=25.46479 161 #define PADE_C 1.6867633134F // theoretical Pade[3/2] value is 5/3=1.66667
float fatan_15deg(float x)
Math approximations file.
float fatan2_deg(float y, float x)